package com.example.hlsdemo.entity;

import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import java.time.LocalDateTime;

@Data
@TableName("video_info")
public class VideoInfo {
    @TableId(type = IdType.AUTO)
    private Long id;

    @TableField("video_id")
    private String videoId;  // 视频唯一标识

    @TableField("file_name")
    private String fileName;  // 原始文件名

    private String md5;  // 文件MD5值

    @TableField("bucket_name")
    private String bucketName;  // MinIO存储桶名称

    @TableField("m3u8_path")
    private String m3u8Path;  // m3u8文件路径（默认清晰度）

    @TableField("original_m3u8_path")
    private String originalM3u8Path;  // 原始m3u8文件路径

    @TableField("low_m3u8_path")
    private String lowM3u8Path;  // 低清晰度m3u8文件路径

    @TableField("mid_m3u8_path")
    private String midM3u8Path;  // 中清晰度m3u8文件路径

    @TableField("high_m3u8_path")
    private String highM3u8Path;  // 高清晰度m3u8文件路径

    @TableField("status")
    private String status;  // 视频处理状态：PROCESSING, COMPLETED, FAILED

    @TableField("file_size")
    private Long fileSize;  // 文件大小（字节）

    @TableField("content_type")
    private String contentType;  // 文件类型

    @TableField(value = "create_time", fill = FieldFill.INSERT)
    private LocalDateTime createTime;  // 创建时间

    @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE)
    private LocalDateTime updateTime;  // 更新时间
} 